本文介绍 Hotmail/Outlook 邮箱通过 IMAP 和 POP3 收信的方法,包括账号密码登录 IMAP,以及使用 Refresh Token 和 Client ID 通过 OAuth2.0 连接 IMAP/POP3。文章说明了短效账号、短效优质账号和长效 IMAP 类型账号对应的 IMAP 服务器配置,并提供 Python 示例代码,适合需要批量购买 Hotmail 账号、Outlook 账号批发、验证码邮件读取、平台注册收信和自动化邮箱管理的用户参考。
Hotmail/Outlook 邮箱可以通过 IMAP 或 POP3 方式收取邮件。对于验证码邮件读取、平台注册收信、批量邮箱管理和自动化收件来说,选择正确的账号类型和登录方式非常重要。
如果你需要批量购买 Hotmail 账号、购买 Outlook 账号、Hotmail 账号批发或 Outlook 账号批发,Hotmail007 可以提供支持不同收信方式的邮箱账号,方便用户根据实际业务需求进行邮箱接收和账号管理。
本文内容
Hotmail/Outlook IMAP/POP3 收信方式说明
密码登录 IMAP
OAuth2.0 令牌登录 IMAP/POP3
两种方式怎么选择
使用注意事项
1. Hotmail/Outlook IMAP/POP3 收信方式说明
IMAP 和 POP3 都是常见的邮箱收信协议,主要用于通过邮箱客户端、脚本程序或第三方收件工具读取邮件。
IMAP 更适合持续读取和管理邮箱邮件。它可以连接收件箱,读取邮件列表,并保留邮箱中的邮件状态,适合验证码邮件读取、平台注册邮件接收、批量邮箱收信和自动化管理。
POP3 更偏向于拉取邮件内容,适合把邮件从服务器中读取出来进行本地处理。对于一些只需要获取邮件内容的场景,POP3 也可以作为收信方式使用。
对于 Hotmail007 支持 IMAP 功能的 Hotmail/Outlook 邮箱账号,可以根据账号类型选择不同的 IMAP/POP3 收信方式:
密码 IMAP:使用邮箱账号和密码,通过对应 IMAP 域名收信
OAuth2.0 IMAP/POP3:使用 Refresh Token 和 Client ID 通过授权方式收信
短效账号和短效优质账号主要使用密码 IMAP,并通过 Hotmail007 的短效账号 IMAP 域名连接。长效 IMAP 类型账号既可以使用密码 IMAP,也可以使用 OAuth2.0 令牌方式连接 IMAP/POP3。
如果你需要了解微软 Graph(OAuth2.0)收信方式,也可以参考:Hotmail/Outlook Graph(OAuth2.0)收信教程
2. 密码登录 IMAP
密码登录 IMAP 是最直接的收信方式。用户只需要准备邮箱地址、邮箱密码、对应 IMAP 域名和端口,即可连接邮箱收取邮件。
如果长效 IMAP 类型账号使用密码登录 IMAP,就可以不受 Refresh Token 过期影响。只要账号本身保持可用,就可以一直通过账号密码连接 IMAP 收信。
2.1 短效账号 IMAP 配置
适用范围:短效账号,包括:
使用以下 IMAP 服务器:
IMAP Address: fresh-imap.zmailservice.com
SSL/TLS Port: 993
No encryption Port: 143
2.2 长效账号 IMAP 配置
适用范围:长效账号(IMAP 类型),包括:
使用以下 IMAP 服务器:
IMAP Address: imap.zmailservice.com
SSL/TLS Port: 993
No encryption Port: 143如果使用 SSL/TLS 加密连接,端口选择 993。
如果不使用加密连接,端口选择 143。
2.3 Python 示例:使用密码登录 IMAP
下面是使用 imapclient 通过密码登录 IMAP 的 Python 示例。
imapclient 是一个 Python IMAP 客户端库,用来连接 IMAP 邮箱服务器、登录邮箱、选择文件夹并读取邮件。如果你的环境还没有安装,可以先安装:
pip install imapclientPython 示例:
import imapclient
imap_server = "imap.zmailservice.com" # 短效账号可改为 fresh-imap.zmailservice.com
imap_port = 143
username = "[email protected]"
password = "your_password"
imap_obj = imapclient.IMAPClient(
imap_server,
use_uid=True,
port=imap_port,
ssl=False
)
imap_obj.login(username, password)
imap_obj.select_folder("INBOX")
print("IMAP login successful.")如果使用 SSL/TLS 连接,可以改为:
imap_port = 993
ssl = True实际使用时,请根据账号类型选择正确的 IMAP 域名和端口。
3. OAuth2.0 令牌登录 IMAP/POP3
OAuth2.0 令牌登录适合长效 IMAP 类型账号。与密码登录不同,这种方式会先通过 Refresh Token 获取访问权限,再连接 Outlook 官方 IMAP 或 POP3 服务器读取邮件。
Hotmail007 提供的相关账号通常包含以下格式:
邮箱:密码:刷新令牌:客户ID其中:
邮箱:Hotmail 或 Outlook 邮箱地址
密码:邮箱密码
Refresh Token:用于获取访问权限
Client ID:用于识别授权应用
Access Token 会在程序运行时通过 Refresh Token 临时获取,普通用户不需要单独准备。
3.1 IMAP OAuth2.0 Python 示例
如果需要通过 IMAP 方式读取 Hotmail/Outlook 邮箱,可以使用 Refresh Token 和 Client ID 获取访问权限,然后通过 XOAUTH2 认证连接 IMAP。
import imaplib
import requests
def get_access_token(client_id, refresh_token):
data = {
"client_id": client_id,
"grant_type": "refresh_token",
"refresh_token": refresh_token
}
response = requests.post(
"https://login.live.com/oauth20_token.srf",
data=data
)
response.raise_for_status()
return response.json()["access_token"]
def generate_auth_string(user, token):
return f"user={user}\1auth=Bearer {token}\1\1"
def connect_imap(email, access_token):
mail = imaplib.IMAP4_SSL("outlook.office365.com")
auth_string = generate_auth_string(email, access_token)
mail.authenticate(
"XOAUTH2",
lambda x: auth_string.encode("utf-8")
)
mail.select("INBOX")
status, messages = mail.search(None, "ALL")
print("Email IDs:", messages)
mail.logout()
client_id = "your_client_id"
email = "[email protected]"
refresh_token = "your_refresh_token"
access_token = get_access_token(client_id, refresh_token)
connect_imap(email, access_token)
3.2 POP3 OAuth2.0 Python 示例
如果需要通过 POP3 方式读取邮件,可以使用 Refresh Token 获取 Access Token,然后连接 Outlook POP3 服务器。
import base64
import poplib
import requests
def get_access_token(client_id, refresh_token):
data = {
"client_id": client_id,
"grant_type": "refresh_token",
"refresh_token": refresh_token
}
response = requests.post(
"https://login.live.com/oauth20_token.srf",
data=data
)
response.raise_for_status()
return response.json()["access_token"]
def generate_auth_string(user, token):
return f"user={user}\1auth=Bearer {token}\1\1"
def connect_pop3(email, access_token):
pop3_server = "outlook.office365.com"
pop3_port = 995
server = poplib.POP3_SSL(pop3_server, pop3_port)
auth_string = generate_auth_string(email, access_token)
encoded_auth_string = base64.b64encode(
auth_string.encode("utf-8")
).decode("utf-8")
server._shortcmd("AUTH XOAUTH2")
server._shortcmd(encoded_auth_string)
num_messages = len(server.list()[1])
print(f"There are {num_messages} emails in the inbox.")
for i in range(num_messages):
response, lines, octets = server.retr(i + 1)
msg_content = b"\n".join(lines).decode("utf-8", errors="ignore")
print(f"Email {i + 1}:")
print(msg_content)
print("=" * 50)
client_id = "your_client_id"
email = "[email protected]"
refresh_token = "your_refresh_token"
access_token = get_access_token(client_id, refresh_token)
connect_pop3(email, access_token)
4. 两种方式怎么选择?
如果你使用的是短效账号或短效优质账号,建议使用账号密码连接 IMAP,并使用短效账号 IMAP 域名:
fresh-imap.zmailservice.com如果你使用的是长效 IMAP 类型账号,可以使用账号密码连接 IMAP,并使用长效账号 IMAP 域名:
imap.zmailservice.com如果你使用的是长效 IMAP 类型账号,也可以使用 Refresh Token 和 Client ID 通过 OAuth2.0 方式连接 IMAP/POP3。
简单来说:
短效账号:使用账号密码 + fresh-imap.zmailservice.com
长效 IMAP 类型账号:使用账号密码 + imap.zmailservice.com
长效 IMAP 类型账号 OAuth2.0:使用 Refresh Token + Client ID 连接 IMAP/POP3
批量购买 Hotmail 账号或 Outlook 账号批发:选择支持对应收信方式的账号类型
5. 使用注意事项
使用 IMAP/POP3 收信时,建议重点检查以下内容:
账号类型是否支持 IMAP 或 OAuth2.0
短效账号和短效优质账号是否使用 fresh-imap.zmailservice.com
长效 IMAP 类型账号是否使用 imap.zmailservice.com
端口是否选择正确
SSL/TLS 设置是否与端口匹配
邮箱和密码是否正确
Refresh Token 和 Client ID 是否完整
Refresh Token 是否仍然有效
网络环境是否稳定
OAuth2.0 代码是否正确使用 XOAUTH2 认证方式
对于 OAuth2.0 方式,Refresh Token 通常约创建后 3 个月有效,具体以账号授权状态为准。Token 到期或失效后,需要更换新的有效 Token 或重新获取授权信息。
总结
Hotmail/Outlook 邮箱主要有两种常见收信方式:一种是使用账号密码登录 IMAP,另一种是使用 Refresh Token 和 Client ID 通过 OAuth2.0 登录 IMAP/POP3。
短效账号和短效优质账号适合使用账号密码连接 IMAP,并使用 fresh-imap.zmailservice.com。长效 IMAP 类型账号适合使用账号密码连接 IMAP,并使用 imap.zmailservice.com;也可以使用 Refresh Token 和 Client ID 连接 IMAP/POP3。
如果你需要批量购买 Hotmail 账号、Hotmail 账号批发、购买 Outlook 账号、Outlook 账号批发,或需要支持 IMAP、POP3、OAuth2.0、Refresh Token 和 Client ID 的邮箱账号,Hotmail007 可以提供对应账号和收信方案支持。